<!DOCTYPE html>
<html>

<head>
    <title>AWS S3 File Upload</title>
    <script src="https://sdk.amazonaws.com/js/aws-sdk-2.235.1.min.js"></script> //引用js-sdk
</head>

<body>
    <input id="file-chooser" type="file" />
    <button id="upload-button">Upload</button>
    <div id="results">
    </div>
        <script type="text/javascript">
            // <reference types="aws-sdk" />
            var credentials = {
                accessKeyId: 'AKIAJP2RLRKDHH6DLBCA',
                secretAccessKey: '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'
            }; //秘钥形式的登录上传
            AWS.config.update(credentials);
            AWS.config.region = 'us-west-2'; //设置区域
            // create bucket instance
            var bucket = new AWS.S3({
                params: {
                    Bucket: 'static-afd'
                }
            }); //选择桶
            var fileChooser = document.getElementById('file-chooser');
            var button = document.getElementById('upload-button');
            var results = document.getElementById('results');
            button.addEventListener('click', function() {
                var file = fileChooser.files[0];
                console.log('file--->', file);
                if (file) {
                    results.innerHTML = '';
                    var params = {
                        Key: file.name,
                        ContentType: file.type,
                        Body: file,
                        'Access-Control-Allow-Credentials': '*',
                        'ACL': 'public-read'
                    }; //key可以设置为桶的相抵路径，Body为文件， ACL最好要设置
                    bucket.upload(params, function(err, data) {
                        console.log('data-->', data);
                        console.log(err); //打印出错误
                        results.innerHTML = err ? 'ERROR!' : 'UPLOADED.';
                    });
                } else {
                    results.innerHTML = 'Nothing to upload.';
                }
            }, false);
        </script>
</body>

</html>